package com.finance.system.service;


import com.finance.base.exception.BaseException;
import com.finance.system.bean.pojo.Menu;

import java.util.List;

/**
 * Created by CBWL on 2017/4/12.
 */
public interface IMenuService {
    /**
     * 获取所有菜单
     * @return
     */
    List<Menu> listAll();

    Menu listMenuTree();

    /**
     * 根据角色获取所有菜单 已拥有的关系checked=true
     * */
    List<Menu> listAllByRoleId(Long roleId);

    /**
     * 根据id获取菜单
     * */
    Menu getById(Long id);

    /**
     * 新增菜单
     * */
    boolean add(Menu menu) throws BaseException;

    /**
     * 更新菜单
     * */
    boolean update(Menu menu);

    /**
     * 删除菜单
     * */
    boolean del(Long id, String uId) throws BaseException;

    /**
     * 批量跟新菜单角色关系
     * */
    boolean updateRoleRel(Long roleId,Long uId,List<String> menuCodes);

    /**
     *
     * 根据用户权限 获取所有菜单
     *
     * */
    List<Menu> listAllMenusByUsercode(String usercode);

    List<Menu> getByRoleId(Long roleId);

    Menu getBySort(Integer sort, String pCode);
}
